[POWERPC][XEN] Adjust DEC correctly
authorJimi Xenidis <jimix@watson.ibm.com>
Fri, 1 Sep 2006 16:12:43 +0000 (12:12 -0400)
committerJimi Xenidis <jimix@watson.ibm.com>
Fri, 1 Sep 2006 16:12:43 +0000 (12:12 -0400)
If DEC would have expired we now restore DEC to 0 so it will fire.
The Domain loses info about how late DEC was from looking at DEC but I
don't think anyone tracks that.

Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
xen/arch/powerpc/powerpc64/domain.c

index 4b205f969e1fcb904fd7e7a026ad83a0f0f9a209..a6473348c3bb09c64e135ddd71ae5d72fbca5eb1 100644 (file)
@@ -55,7 +55,10 @@ void load_sprs(struct vcpu *v)
     /* adjust the DEC value to account for cycles while not
      * running this OS */
     timebase_delta = mftb() - v->arch.timebase;
-    v->arch.dec -= timebase_delta;
+    if (timebase_delta > v->arch.dec)
+        v->arch.dec = 0;
+    else
+        v->arch.dec -= timebase_delta;
 }
 
 /* XXX evaluate all isyncs in segment code */